package com.newtouch.cq.base.starter.business.model.dto;

import cn.hutool.core.util.NumberUtil;
import com.newtouch.cq.base.starter.lang.em.MenuTypeEnum;
import com.newtouch.cq.lang.util.EnumUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author Alex
 * @Description 新增菜单请求参数
 * @time 2021年08月04日 17:08:00
 */
@Data
@ApiModel("菜单新增DTO")
public class SysMenuAddDTO {
    @ApiModelProperty("菜单名称")
    private String menuName; //功能名称
    @ApiModelProperty("功能权限标识")
    private String permission; //功能权限标识
    @ApiModelProperty("请求链接（菜单的时候，前端URL）")
    private String url; //请求链接（菜单的时候，前端URL）
    @ApiModelProperty("请求方法")
    private String method; //请求方法
    @ApiModelProperty("父级标识")
    private Long parentId; //父级标识
    @ApiModelProperty("图标")
    private String icon; //图标
    @ApiModelProperty("VUE页面")
    private String component; //VUE页面
    @ApiModelProperty("排序")
    private Integer sort; //排序
    @ApiModelProperty("类型")
    private MenuTypeEnum type; //类型

    public void setParentId(String parentId) {
        this.parentId = NumberUtil.parseLong(parentId);
    }

    public void setType(String type) {
        this.type = EnumUtils.createOrThrow(MenuTypeEnum.class,type);
    }
}
